﻿#ifndef DAAPPUI_H
#define DAAPPUI_H
#include "DAAppUIInterface.h"
namespace DA
{
class DAAppDockingArea;
class DAAppRibbonArea;
class DAAppCommand;
/**
 * @brief 总体界面接口，负责生成DAAppDockingArea和DAAppRibbonArea
 */
class DAAppUI : public DAAppUIInterface
{
    Q_OBJECT
public:
    DAAppUI(SARibbonMainWindow* m, DACoreInterface* c);

    //获取界面的docking区域
    virtual DAAppDockingAreaInterface* dockingArea() override;

    //获取界面的ribbon区域
    virtual DAAppRibbonAreaInterface* ribbonArea() override;

public:
    //减少一次dynamic_cast
    DAAppCommand* getAppCmd();

protected:
    void createCmd();
    void createDockingArea();
    void createRibbonArea();

public:
    DAAppCommand* m_cmd;
    DAAppDockingArea* m_dockingArea;
    DAAppRibbonArea* m_ribbonArea;
};
}  // namespace DA
#endif  // DAAPPUI_H
